package com.example.gokchinesefoodmapmcdev.service;

import com.example.gokchinesefoodmapmcdev.entity.dto.OrderSubmitDTO;
import com.example.gokchinesefoodmapmcdev.entity.goods.GoodsInfo;
import com.example.gokchinesefoodmapmcdev.entity.membercart.MemberCartItem;
import com.example.gokchinesefoodmapmcdev.entity.order.OrderInfo;
import com.example.gokchinesefoodmapmcdev.util.ResultData;

import java.util.List;
import java.util.Map;

public interface MemberCartService {
    /**
     * 添加购物信息业务逻辑处理
     */
    Integer addMemberCart(GoodsInfo goodsInfo, Integer number, String attrSymbolPath);

    /**
     * 删除购物车中物品业务逻辑处理
     */
    Integer removeMemberCartItem(Integer[] ids);

    /**
     * 修改购物车项的规格和数量业务逻辑处理
     */
    Integer updateMemberCartItem(MemberCartItem memberCartItem, String attrSymbolPath, Integer number);

    /**
     * 根据用户名查询出该用户的购物车信息
     */
    List<Map<String, Object>> findMemberCartItemByUser(String username);

    /**
     * 从购物车确认订单业务逻辑处理
     */
    ResultData confirmOrderFromCart(Integer[] ids, String username);

    /**
     * 提交订单业务逻辑（生成订单信息）
     */
    ResultData submitOrderInfo(OrderSubmitDTO orderSubmitDTO, String username);

}
